package com.yyf.springboot2.mapper;

import com.alibaba.fastjson.JSONObject;
import com.yyf.springboot2.address.City;
import com.yyf.springboot2.address.Province;
import com.yyf.springboot2.common.Redis;
import com.yyf.springboot2.service.ProvinceService;
import redis.clients.jedis.Jedis;
import redis.clients.jedis.JedisPool;

import javax.annotation.Resource;
import java.util.List;

public class AddressCacheMapper {
//@Resource
//    private Redis redis;

//    @Resource
//    private ProvinceService provinceService;
//    public AddressCacheMapper(){
//    }
//    public AddressCacheMapper(Redis redis){
//        this.redis = redis;
//    }
//    private RuntimeSchema<Province> provinceSchema = RuntimeSchema.createFrom(Province.class);
//    private RuntimeSchema<City> citySchema = RuntimeSchema.createFrom(City.class);
//    private RuntimeSchema<County> countySchema = RuntimeSchema.createFrom(County.class);

//    public Province getProvince(){
//
//
//    }
//    public String putProvince(Province province){
//        try {
//            Jedis jedis = jedisPool.getResource();
//            try {
//                String key = "province";
//                byte[] bytes = ProtostuffIOUtil.toByteArray(province, provinceSchema, LinkedBuffer.allocate(LinkedBuffer.DEFAULT_BUFFER_SIZE));
//                String result = jedis.setex(key.getBytes(), 60*60*24, bytes);
//                return result;
//            } finally {
//                jedis.close();
//            }
//        } catch (Exception e) {
//            e.printStackTrace();
//        }
//        return null;
//    }
//
//    public City getCity(){
//        try {
//            Jedis jedis = jedisPool.getResource();
//            try {
//                String key = "city";
//                byte[] bytes = jedis.get(key.getBytes());
//                if(bytes != null){
//                    City city = citySchema.newMessage();
//                    ProtostuffIOUtil.mergeFrom(bytes, city, citySchema);
//                    return city;
//                }
//            } finally {
//                jedis.close();
//            }
//        } catch (Exception e) {
//            e.printStackTrace();
//        }
//        return null;
//    }
//    public String putCity(City city){
//
//        return null;
//    }
//
//    public County getCounty(){
//
//        return null;
//    }
//    public String putCounty(County county){
//
//        return null;
//    }
//
//    public JedisPool getJedisPool() {
//        return jedisPool;
//    }
//    public void setJedisPool(JedisPool jedisPool) {
//        this.jedisPool = jedisPool;
//    }


//    public List<Province> getProvinces() {
//
//        String province = redis.get("province");
//
//        List<Province> list1 = null;
//        if(province!=null&&!province.equals("")){
//            list1=JSONObject.parseArray(province,Province.class);
//            return list1;
//        }
//        list1 = provinceService.getProvinceList();
//
//        String s = JSONObject.toJSONString(list1);
//        redis.set("province",s);
//        return list1;
//
//
//    }
}
